package com.yilin.tms.core.entity.order.transit;


import com.baomidou.mybatisplus.annotation.EnumValue;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yilin.tms.core.commons.base.BaseDataEntity;
import com.yilin.tms.core.entity.system.param.TruckType;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;

/**
 * 运单车辆记录
 *
 * @author zhangjinyuan
 * @date 2022/10/28
 */
@Entity
@Table(name = "transit_order_vehicle_record")
@TableName(value = "transit_order_vehicle_record")
public class TransitOrderVehicleRecord extends BaseDataEntity {
    public enum RecordStatus{
        finish(0,"已完成"),
        current(1,"当前");
        @EnumValue
        public Integer index;
        public String name;
        RecordStatus(Integer index, String name) {
            this.index = index;
            this.name = name;
        }
    }

    @Column(name = "transit_order_id")
    private String transitOrderId; //运单ID
    @Column(name = "transport_no")
    private String transportNo;  //运单号

    @Column(name = "record_status")
    private  RecordStatus recordStatus;

    @Column(name = "transit_truck_id")
    private String transitTruckId; //车辆ID
    @Column(name = "transit_truck_no")
    private String transitTruckNo;//车牌号
    @Column(name = "transit_truck_plate_color")
    private String transitTruckPlateColor; //车牌颜色 = truckPlateName

    @Column(name = "transit_truck_user_id")
    private String transitTruckUserId; //司机ID
    @Column(name = "transit_truck_user_name")
    private String transitTruckUserName; //司机名称
    @Column(name = "transit_truck_user_phone")
    private String transitTruckUserPhone;//司机电话

    @Column(name = "transit_trailer_id")
    private String transitTrailerId;//挂车 车id
    @Column(name = "transit_trailer_no")
    private String transitTrailerNo;//挂车 车牌号

    ///分段信息
    @Column(name = "split_start_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date splitStartTime; //【网络货运】分段起始节点::开始时间
    @Column(name = "split_consignor_coordinate")
    private String splitConsignorCoordinate; //【网络货运】分段起始节点::发货坐标
    @Column(name = "split_consignor_address")
    private String splitConsignorAddress; //【网络货运】分段起始节点:发货地址描述
    @Column(name = "split_consignor_ad_code")
    private String splitConsignorAdCode; //【网络货运】分段起始节点:发货地区域码

    ///分段信息
    @Column(name = "split_end_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date splitEndTime; //【网络货运】分段终点节点::结束时间
    @Column(name = "split_consignee_coordinate")
    private String splitConsigneeCoordinate; //【网络货运】分段终点节点:收货坐标
    @Column(name = "split_consignee_address")
    private String splitConsigneeAddress; //【网络货运】分段终点节点:收货地址描述
    @Column(name = "split_consignee_ad_code")
    private String splitConsigneeAdCode; //【网络货运】分段终点节点:收货地区域码


    public Date getSplitStartTime() {
        return splitStartTime;
    }

    public void setSplitStartTime(Date splitStartTime) {
        this.splitStartTime = splitStartTime;
    }

    public Date getSplitEndTime() {
        return splitEndTime;
    }

    public void setSplitEndTime(Date splitEndTime) {
        this.splitEndTime = splitEndTime;
    }

    public RecordStatus getRecordStatus() {
        return recordStatus;
    }

    public void setRecordStatus(RecordStatus recordStatus) {
        this.recordStatus = recordStatus;
    }

    public String getSplitConsignorCoordinate() {
        return splitConsignorCoordinate;
    }

    public void setSplitConsignorCoordinate(String splitConsignorCoordinate) {
        this.splitConsignorCoordinate = splitConsignorCoordinate;
    }

    public String getSplitConsignorAddress() {
        return splitConsignorAddress;
    }

    public void setSplitConsignorAddress(String splitConsignorAddress) {
        this.splitConsignorAddress = splitConsignorAddress;
    }

    public String getSplitConsignorAdCode() {
        return splitConsignorAdCode;
    }

    public void setSplitConsignorAdCode(String splitConsignorAdCode) {
        this.splitConsignorAdCode = splitConsignorAdCode;
    }

    public String getSplitConsigneeCoordinate() {
        return splitConsigneeCoordinate;
    }

    public void setSplitConsigneeCoordinate(String splitConsigneeCoordinate) {
        this.splitConsigneeCoordinate = splitConsigneeCoordinate;
    }

    public String getSplitConsigneeAddress() {
        return splitConsigneeAddress;
    }

    public void setSplitConsigneeAddress(String splitConsigneeAddress) {
        this.splitConsigneeAddress = splitConsigneeAddress;
    }

    public String getSplitConsigneeAdCode() {
        return splitConsigneeAdCode;
    }

    public void setSplitConsigneeAdCode(String splitConsigneeAdCode) {
        this.splitConsigneeAdCode = splitConsigneeAdCode;
    }

    public String getTransitOrderId() {
        return transitOrderId;
    }

    public void setTransitOrderId(String transitOrderId) {
        this.transitOrderId = transitOrderId;
    }

    public String getTransportNo() {
        return transportNo;
    }

    public void setTransportNo(String transportNo) {
        this.transportNo = transportNo;
    }

    public String getTransitTruckId() {
        return transitTruckId;
    }

    public void setTransitTruckId(String transitTruckId) {
        this.transitTruckId = transitTruckId;
    }

    public String getTransitTruckNo() {
        return transitTruckNo;
    }

    public void setTransitTruckNo(String transitTruckNo) {
        this.transitTruckNo = transitTruckNo;
    }

    public String getTransitTruckPlateColor() {
        return transitTruckPlateColor;
    }

    public void setTransitTruckPlateColor(String transitTruckPlateColor) {
        this.transitTruckPlateColor = transitTruckPlateColor;
    }

    public String getTransitTruckUserId() {
        return transitTruckUserId;
    }

    public void setTransitTruckUserId(String transitTruckUserId) {
        this.transitTruckUserId = transitTruckUserId;
    }

    public String getTransitTruckUserName() {
        return transitTruckUserName;
    }

    public void setTransitTruckUserName(String transitTruckUserName) {
        this.transitTruckUserName = transitTruckUserName;
    }

    public String getTransitTruckUserPhone() {
        return transitTruckUserPhone;
    }

    public void setTransitTruckUserPhone(String transitTruckUserPhone) {
        this.transitTruckUserPhone = transitTruckUserPhone;
    }

    public String getTransitTrailerId() {
        return transitTrailerId;
    }

    public void setTransitTrailerId(String transitTrailerId) {
        this.transitTrailerId = transitTrailerId;
    }

    public String getTransitTrailerNo() {
        return transitTrailerNo;
    }

    public void setTransitTrailerNo(String transitTrailerNo) {
        this.transitTrailerNo = transitTrailerNo;
    }
}
